<?php

class User extends AppModel {

//    public $name = 'Usuario';
    var $name = 'User';
    var $displayField = 'nombres';
    var $hasOne = 'Paciente';    
//    var $hasMany = array('Cita');
//    var $hasAndBelongsToMany = array("Telefono");
//    var $belongsTo = array('Persona');
//    var $hasMany = array('Cita', 'Telefono');
//    var $belongTo = array('Persona');
//    var $hasAndBelongsToMany = array("Enfermedade");
//    var $hasAndBelongsToMany = array("Usuario"); esta linea seria la relacion que se agrega en el modelo enfermedades
    
    public $validate = array(
        'username' => array(
            'email' => array(
                'rule' => array('email', true),
                'message' => 'Correo electronico no valido.'
            ),
            'unique' => array(
                'rule' => 'isUnique',
                'message' => 'El login ya ha sido registrado.',
            ),        
        ),
        
        'password' => array(
            'allowEmpty' => false,                
            'passwordSimilar' => array(
                    'rule' => 'probarPassword',
                    'message' => 'Los password ingresados no coinciden, rectificalos.'
                )
        ),
        'password2' => array(
            'min_length' => array(
                'rule' => array('minLength', 6),
                'message' => 'El password debe tener mas de 6 caracteres.'
            ),
        ),
        
        'nombres' => array(
            'min_length' => array(
                'rule' => array('minLength', 2),
                'message' => 'Los nombres deben tener mas de 2 caracteres.'
                )
        ),        
        'apellidos' => array(
            'min_length' => array(
                'rule' => array('minLength', 2),
                'message' => 'Los apellidos deben tener mas de 2 caracteres.'
                )
        ),
        
        'tipo_identificacion' => array(
            'rule' => 'notEmpty',
            'message' => 'La identificacaion es un campo que no puede quedar vacío.'
        ),
        
        'genero' => array(
            'rule' => 'notEmpty',
            'message' => 'La identificacaion  no puede quedar vacío.'
        ),
            
        'numero_identificacion' => array(
            'is_number' => array(
                'rule' => 'numeric',
                'message' => 'Número de Identificacion invalido.'
                ),
            'no_neg' => array(
                'rule' => array('range', -1, 999999999999),
                'message' => 'Número de Identificacion invalido'
                ),
            'unique' => array(
                'rule' => 'isUnique',
                'message' => 'esta cedula ya ha sido registrada.',
            ), 
        ),
        
        'telefono' => array(
            'is_number' => array(
                'rule' => 'numeric',
                'message' => 'Número telefonico invalido.'
                ),
            'no_neg' => array(
                'rule' => array('range', -1, 999999999999),
                'message' => 'Número debe ser positivo.'
                )
        )
    );

    /*
     * funcio: checkPasswords
     * esta funcion comprueba que los datos ingresados en los campos para passwords
     * sean iguales
     */
    function probarPassword($data)
    {
        if($data['password'] == $this->data['User']['password2hashed'])
                return true;
        return false;
    }    
}

?>
